home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / pluginy Firefox / 49217 / 49217.xpi / chrome / content / importToGoogleDocs.js < prev    next >
Text File  |  2009-11-10  |  4KB  |  109 lines

  1. var importToGoogleDocs = function () {
  2.     var prefManager = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);
  3.     return {
  4.         init : function () {
  5.             gBrowser.addEventListener("load", function () {
  6.                 var autoRun = prefManager.getBoolPref("extensions.importToGoogleDocs.autorun");
  7.                 if (autoRun) {
  8.                     importToGoogleDocs.run();
  9.                 }
  10.             }, false);
  11.         },
  12.             
  13.         run : function () {
  14.             var googleSite = content.document.getElementById('logo');
  15.  
  16.             if (googleSite) {
  17.                 var head = content.document.getElementsByTagName("head")[0],
  18.                 style = content.document.getElementById("googleDocs-style");
  19.             
  20.             if (!style) {
  21.                 style = content.document.createElement("link");
  22.                 style.id = "googleDocs-style";
  23.                 style.type = "text/css";
  24.                 style.rel = "stylesheet";
  25.                 style.href = "chrome://importToGoogleDocs/skin/skin.css";
  26.                 head.appendChild(style);
  27.             }
  28.  
  29.             var body = content.document.getElementsByTagName("body")[0],
  30.                 script = content.document.getElementById("import-script");
  31.                             
  32.             if (!script) {
  33.                 script = content.document.createElement("script");
  34.                 script.setAttribute("id", "import-script");
  35.                 script.setAttribute("language","javascript");
  36.                 script.src = "chrome://importToGoogleDocs/content/importscript.js";
  37.                 head.appendChild(script);
  38.             }
  39.             
  40.             var h3elements = content.document.getElementsByTagName("h3");
  41.             for (i=0;i<h3elements.length ;i++ ) {
  42.                 var docUrl = h3elements[i].firstChild;
  43.                 var xsm = content.document.getElementsByTagName("h3")[i].parentNode.firstChild.textContent;
  44.                 var fileType = docUrl.href.substr(-4);
  45.                 if (h3elements[i].getElementsByTagName("span")[0] == undefined && (fileType ==".xls" || fileType ==".ods"))
  46.                     {
  47.                         var link = "  Import as Google Spreadsheet";
  48.                         var span = content.document.createElement('span');
  49.                         span.innerHTML = link;
  50.                         span.className = 'linkClass';
  51.                         span.setAttribute("id", "hyperlink");
  52.                         span.setAttribute('onclick','openDiv("'+docUrl+'")');
  53.                         h3elements[i].appendChild(span);
  54.                     }
  55.                 // Add for filetypes: '.bmp','.doc','.png','.odt','.ods','.sxw','.jpg','.xls','.pdf','.csv','.txt','.docx','.ppt','.pps','.rtf','.gif','.jpeg','.xlsx'
  56.                 if (h3elements[i].getElementsByTagName("span")[0] == undefined && (fileType ==".bmp" || fileType ==".doc" || fileType ==".png" || fileType ==".odt" || fileType ==".sxw" || fileType ==".jpg" || fileType ==".pdf" || fileType ==".txt" || fileType ==".docx" || fileType ==".ppt" || fileType ==".pps" || fileType ==".rtf" || fileType ==".gif" || fileType ==".jpeg"))
  57.                 {
  58.                     var link = "  Import as Google Document";
  59.                     var span = content.document.createElement('span');
  60.                     span.innerHTML = link;
  61.                     span.className = 'linkClass';
  62.                     span.setAttribute("id", "hyperlink");
  63.                     span.setAttribute('onclick','processAsGoogleDoc("'+docUrl+'")');
  64.                     h3elements[i].appendChild(span);
  65.  
  66.                 }
  67.  
  68.                 //Workaround for docs, pptx, xlxs extensions :-(
  69.                 var fileTypeX = docUrl.href.substr(-5);
  70.                 if (h3elements[i].getElementsByTagName("span")[0] == undefined && (fileTypeX ==".xlsx" || fileTypeX ==".docx" || fileTypeX ==".pptx"))
  71.                     {
  72.                     var link = "  Import as Google Document";
  73.                     var span = content.document.createElement('span');
  74.                     span.innerHTML = link;
  75.                     span.className = 'linkClass';
  76.                     span.setAttribute("id", "hyperlink");
  77.                     span.setAttribute('onclick','processAsGoogleDoc("'+docUrl+'")');
  78.                     h3elements[i].appendChild(span);
  79.                     }
  80.                 
  81.             }
  82.             } 
  83.             
  84.             var dochead = content.document.getElementsByTagName("head")[0],
  85.                 docscript = content.document.getElementById("doclist-script"),
  86.                 doclist = content.document.getElementById("doclist");            
  87.             
  88.             if (doclist && !docscript) {
  89.                 docscript = content.document.createElement("script");
  90.                 docscript.setAttribute("id", "doclist-script");
  91.                 docscript.setAttribute("language","javascript");
  92.                 docscript.src = "chrome://importToGoogleDocs/content/doclistscript.js";
  93.                 dochead.appendChild(docscript);
  94.  
  95.                 var style = content.document.getElementById("googleDocs-style");
  96.                 if (!style) {
  97.                 style = content.document.createElement("link");
  98.                 style.id = "googleDocs-style";
  99.                 style.type = "text/css";
  100.                 style.rel = "stylesheet";
  101.                 style.href = "chrome://importToGoogleDocs/skin/skin.css";
  102.                 dochead.appendChild(style);
  103.               }
  104.             }
  105.  
  106.             }
  107.         };
  108. }();
  109. window.addEventListener("load", importToGoogleDocs.init, false);